home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
B-Book Series
/
(k)b8.d64
/
demo 4.4.l
< prev
next >
Wrap
Text File
|
2007-02-28
|
4KB
|
225 lines
0010 // SAVE "0:BUTTERFLY.3"
0020 // MINDY SKELTON
0030 // DELETE "0:BUTTERFLY.1"
0040 //
0050 // PROCEDURES
0060 PROC INIT
0070 DIM CLOUD$ OF 64, SHAPE$ OF 64, SHAPE1$ OF 64
0080 SETGRAPHIC 0
0090 BACKGROUND 6
0100 CLEAR
0110 HIDETURTLE
0120 CO:=0
0130 KO:=0
0140 ENDPROC INIT
0150 //
0160 PROC GROUND
0170 RIGHT 90
0180 MOVETO 0,0
0190 PENCOLOR 13
0200 FORWARD 320
0210 FOR I:=1 TO 40 DO
0220 MOVETO 0,I
0230 IF I=40 THEN
0240 PENCOLOR 5
0250 ELSE
0260 PENCOLOR 13
0270 ENDIF
0280 FORWARD 320
0290 MOVETO 0,I
0300 ENDFOR I
0310 ENDPROC GROUND
0320 //
0330 PROC GRASS
0340 PENCOLOR 5
0350 X:=RND(5,315)
0360 MOVETO X,40
0370 SETHEADING 0
0380 FORWARD 10
0390 FOR I:=2 TO 8 STEP 2 DO
0400 X1:=X-I
0410 MOVETO X1,40
0420 FORWARD (10-I)+RND(0,3)
0430 X2:=X+I
0440 MOVETO X2,40
0450 FORWARD (10-I)+RND(0,3)
0460 ENDFOR I
0470 ENDPROC GRASS
0480 //
0490 PROC FLOWER
0500 X:=RND(5,315)
0510 LEAF(X)
0520 MOVETO X,40
0530 SETHEADING 0
0540 FORWARD 15
0550 MOVETO X,58
0560 PETAL
0570 ENDPROC FLOWER
0580 //
0590 PROC PETAL
0600 OLD'COLOR:=PEEK(646)
0610 PENCOLOR 4
0620 FOR I:=1 TO 16 DO
0630 FORWARD 8
0640 RIGHT 170
0650 ENDFOR I
0660 PENCOLOR OLD'COLOR
0670 ENDPROC PETAL
0680 //
0690 PROC LEAF(X) CLOSED
0700 PENCOLOR 5
0710 MOVETO X,40
0720 SETHEADING 0
0730 FOR I:=1 TO 2 DO
0740 FOR J:=1 TO 13 DO
0750 FORWARD 1
0760 RIGHT 7
0770 ENDFOR J
0780 RIGHT 90
0790 ENDFOR I
0800 FILL X+2,42
0810 MOVETO X,40
0820 SETHEADING 0
0830 FOR I:=1 TO 2 DO
0840 FOR J:=1 TO 13 DO
0850 FORWARD 1
0860 LEFT 7
0870 ENDFOR J
0880 LEFT 90
0890 ENDFOR I
0900 FILL X-2,42
0910 ENDPROC LEAF
0920 //
0930 PROC SUN
0940 PENCOLOR 7
0950 ASPECT:=1.3
0960 H:=260
0970 V:=180
0980 R:=10
0990 Y:=0
1000 FIRST:=TRUE
1010 D'THETA:=.1
1020 C:=COS(D'THETA)
1030 S:=SIN(D'THETA)
1040 N:=64
1050 FOR I:=1 TO N DO
1060 TEMP:=R*C-Y*S
1070 Y:=Y*C+R*S
1080 R:=TEMP
1090 SX:=ASPECT*R+H
1100 SY:=V-Y
1110 IF FIRST THEN
1120 MOVETO SX,SY
1130 FIRST:=FALSE
1140 ELSE
1150 DRAWTO SX,SY
1160 ENDIF
1170 ENDFOR I
1180 FILL H,V
1190 ENDPROC SUN
1200 //
1210 PROC BUTTERFLY
1220 FOR I:=1 TO 63 DO
1230 READ XX
1240 SHAPE$:=SHAPE$+CHR$(XX)
1250 ENDFOR I
1260 FOR I:=1 TO 63 DO
1270 READ XX
1280 SHAPE1$:=SHAPE1$+CHR$(XX)
1290 ENDFOR I
1300 SHAPE$:=SHAPE$+CHR$(0)
1310 SHAPE1$:=SHAPE1$+CHR$(0)
1320 DEFINE 0,SHAPE$
1330 DEFINE 2,SHAPE1$
1340 IDENTIFY 0,0
1350 IDENTIFY 1,2
1360 SPRITECOLOR 0,7
1370 SPRITECOLOR 1,2
1380 FOR I:=0 TO 1 DO SPRITESIZE I,0,0
1390 ENDPROC BUTTERFLY
1400 //
1410 PROC CLOUD'MAKE
1420 FOR I:=1 TO 63 DO
1430 READ CODE
1440 CLOUD$:=CLOUD$+CHR$(CODE)
1450 ENDFOR I
1460 CLOUD$:=CLOUD$+CHR$(0)
1470 DEFINE 1,CLOUD$
1480 IDENTIFY 4,1
1490 IDENTIFY 3,1
1500 IDENTIFY 5,1
1510 IDENTIFY 6,1
1520 IDENTIFY 7,1
1530 SPRITECOLOR 4,1
1540 SPRITECOLOR 3,1
1550 SPRITECOLOR 5,1
1560 SPRITECOLOR 6,1
1570 SPRITECOLOR 7,1
1580 SPRITESIZE 4,1,1
1590 SPRITESIZE 3,1,1
1600 SPRITESIZE 5,1,1
1610 SPRITESIZE 6,1,1
1620 SPRITESIZE 7,1,1
1630 SPRITEPOS 4,40,200
1640 SPRITEPOS 3,260,220
1650 SPRITEPOS 5,180,150
1660 SPRITEPOS 6,60,205
1670 SPRITEPOS 7,65,195
1680 ENDPROC CLOUD'MAKE
1690 //
1700 //
1710 PROC MOVE'SPRITE
1720 FOR X:=1 TO 300 DO
1730 IF (X MOD 2)=0 THEN
1740 SPRITEPOS 0,X,100
1750 SPRITEPOS 1,X,100
1760 ELSE
1770 SPRITEPOS 0,X,101
1780 SPRITEPOS 1,X,101
1790 ENDIF
1800 FOR J:=1 TO 3 DO NULL
1810 ENDFOR X
1820 //FOR I:=0 TO 2 DO HIDESPRITE I
1830 ENDPROC MOVE'SPRITE
1840 //
1850 // MAIN
1860 //
1870 INIT
1880 GROUND
1890 REPEAT
1900 FLOWER
1910 CO:=CO+1
1920 UNTIL CO>6
1930 REPEAT
1940 GRASS
1950 KO:=KO+1
1960 UNTIL KO>6
1970 SUN
1980 CLOUD'MAKE
1990 BUTTERFLY
2000 REPEAT
2010 MOVE'SPRITE
2020 UNTIL KEY$<>CHR$(0)
2030 //
2040 // DATA
2050 //
2060 CLOUD
2070 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2080 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2090 DATA 0,255,0,3,255,192,7,255,224,7,255,224,15,255,240
2100 DATA 127,255,254,255,255,255,127,255,254
2110 BUTTERFLY1
2120 DATA 192,0,3,248,0,31,184,0,29
2130 DATA 158,36,121,143,153,241,255,219,255
2140 DATA 255,255,255,225,231,135,255,231,255,248,231,31
2150 DATA 255,231,255,126,102,126,7,255,224,31,231,248
2160 DATA 63,126,252,127,231,254,103,165,230
2170 DATA 103,231,230,63,195,252,15,129,240,7,0,224
2180 BUTTERFLY2
2190 DATA 192,0,3,248,0,31,248,0,31
2200 DATA 254,0,127,255,153,255,255,219,255
2210 DATA 255,255,255,255,255,255,255,255,255,255,255,255
2220 DATA 255,255,255,127,255,254,7,255,224,31,255,248
2230 DATA 63,255,252,127,231,254,127,231,254
2240 DATA 127,231,254,63,195,252,15,129,240,7,0,224